bab4043099df6bae37c2e1c254c99af43f8afbee,lang-impl/src/com/intellij/codeInsight/completion/CodeCompletionHandlerBase.java,CodeCompletionHandlerBase,insertDummyIdentifier,#CompletionContext#,290

Before Change


      Editor newEditor = InjectedLanguageUtil.getEditorForInjectedLanguage(editor, hostFile, context.getStartOffset());
      if (newEditor instanceof EditorWindow) {
        EditorWindow injectedEditor = (EditorWindow)newEditor;
        int newOffset1 = injectedEditor.logicalPositionToOffset(injectedEditor.hostToInjected(oldEditor.offsetToLogicalPosition(context.getStartOffset())));
        int newOffset2 = injectedEditor.logicalPositionToOffset(injectedEditor.hostToInjected(oldEditor.offsetToLogicalPosition(context.getSelectionEndOffset())));
        PsiFile injectedFile = injectedEditor.getInjectedFile();
        CompletionContext newContext = new CompletionContext(context.project, injectedEditor, injectedFile, context.getOffsetMap());

After Change


        final OffsetMap map = new OffsetMap(newEditor.getDocument());
        final OffsetMap oldMap = context.getOffsetMap();
        for (final OffsetKey key : oldMap.keySet()) {
          map.addOffset(key, injectedEditor.logicalPositionToOffset(injectedEditor.hostToInjected(oldEditor.offsetToLogicalPosition(oldMap.getOffset(key)))));
        }
        CompletionContext newContext = new CompletionContext(context.project, injectedEditor, injectedFile, map);
        PsiElement element = findElementAt(injectedFile, newContext.getStartOffset());